# 嵌套调用：在一个函数里面调用另外一个函数
# 在执行demoB之前去执行demoA(在嵌套的前提下)
def demoA():
    print("这是第一个方案")
    print(10+20)
def demoB():
    # demoA()
    print("这是第二个方案")
    print(10-20)
demoB()
demoA()
# 在执行demoA之前去执行demoB(在嵌套的前提下)

# 嵌套定义：在一个函数里面定义一个函数并且调用这个函数
# 在demoB里面先执行demoA()
def demoB():
    def demoA():
        print("这是第一个方案")
        print(10+20)
    demoA()
    print("这是第二个方案")
    print(10-20)

demoB()

# 函数里面存着作用域的问题
# 在demoB里面返回demoA  函数的返回值可以返回另一个函数